package hos.http;

import java.util.List;
import java.util.Map;

/**
 * <p>Title: HttpBaseResquestSoap </p>
 * <p>Description:  </p>
 * <p>Company: www.mapuni.com </p>
 *
 * @author : 蔡俊峰
 * @version : 1.0
 * @date : 2023/3/3 19:10
 */
public interface HttpBaseRequestSoap<T extends HttpBaseRequestSoap<T>> extends HttpBaseRequest<T> {

    T init(String methodName, String nameSpace);

    default T init(String methodName) {
        return init(methodName, HttpConfig.config().getNameSpace());
    }

    String getNameSpace();

    String getMethodName();

    HttpTag.Soap getSoapTag();

    T setNameSpace(String nameSpace);

    T setMethodName(String methodName);

    boolean getDotNet();

    T setDotNet(boolean dotNat);

    int getVersion();

    T setVersion(int version);

    Map<String, String> getHeaderBody();

    T headerBody(String key, String value);

    T headerBody(Map<String, String> value);

    String getSoapAction();

    List<HttpParam> getData();

    String getDataXml();

}
